/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package server.communication;

import org.apache.log4j.Logger;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/**
 *
 * @author 
 */
public class CSAXDefaultHandlerServer extends CSAXHandlerServer {
    //attributen
    private String naamLaatsteElement;

    public CSAXDefaultHandlerServer(ServerCommunication s, int clh) {
        super(s, clh);
        naamLaatsteElement = null;
    }

    public DefaultHandler getDefaultHandler() {
        return new DefaultHandler() {

            public void startElement(String namespaceURI, String localName,
                    String qualifiedName, Attributes atts) throws SAXException {
                naamLaatsteElement = qualifiedName;
                if (qualifiedName.equals("chat")) {
                    startChat();
                } else if (qualifiedName.equals("priveChat")) {
                    startPriveChat();
                } else if (qualifiedName.equals("spelerAlOnline")) {
                    startSpelerAlOnline();
                } else if (qualifiedName.equals("getSpelerByLogin")) {
                    startGetSpelerByLogin();
                } else if (qualifiedName.equals("getSpelerByNickname")) {
                    startGetSpelerByNickname();
                }else if (qualifiedName.equals("spelerOffline")) {
                    startSpelerOffline();
                } else if (qualifiedName.equals("spelerOnline")) {
                    startSpelerOnline();
                } else if (qualifiedName.equals("registreerGebruiker")) {
                    startRegistreerGebruiker();
                } else if (qualifiedName.equals("updateGebruiker")) {
                    startUpdateGebruiker();
                } else if (qualifiedName.equals("onlineSpelers")) {
                    startOnlineSpelers();
                } else if (qualifiedName.equals("createGame")) {
                    startCreateGame();
                } else if (qualifiedName.equals("getGamerooms")) {
                    startGetGamerooms();
                } else if (qualifiedName.equals("gebruiker")) {
                    startGebruiker();
                } else if (qualifiedName.equals("joinGame")) {
                    startJoinGame();
                } else if (qualifiedName.equals("leaveGame")) {
                    startLeaveGame();
                } else if (qualifiedName.equals("chatInGame")) {
                    startChatInGame();
                } else if (qualifiedName.equals("gelegdeWoorden")) {
                    startGelegdeWoorden();
                } else if (qualifiedName.equals("nieuwWoord")) {
                    startNieuwWoord();
                } else if (qualifiedName.equals("verplaatsBlokje")) {
                    startVerplaatsBlokje();
                } else if (qualifiedName.equals("geefBeurtDoor")) {
                    startGeefBeurtDoor();
                } else if (qualifiedName.equals("checkNicknameBestaatAl")) {
                    startCheckNicknameBestaatAl();
                } else if (qualifiedName.equals("zendAvatarAanvraag")) {
                    startZendAvatarAanvraag();
                }else if (qualifiedName.equals("aanvraagLetters")) {
                    //startAanvraagLetters();
                }//else if (qualifiedName.equals("AanvraagLetterWaarde")) {
                    //startAanvraagLetterWaarde();
                //}
                else if (qualifiedName.equals("geefLettersTerug")) {
                    startGeefLettersTerug();
                }else if (qualifiedName.equals("geefOverblijvendeLettersTerug")) {
                    startGeefOverblijvendeLettersTerug();
                }else if (qualifiedName.equals("startSpel")) {
                    startStartSpel();
                }else if (qualifiedName.equals("getRandomWoord")) {
                    startGetRandomWoord();
                }else if (qualifiedName.equals("geefAvatarAanvraag")) {
                    startGeefAvatarAanvraag();
                }else if (qualifiedName.equals("bepaalTopscore")) {
                    startBepaalTopscore();
                }else if (qualifiedName.equals("replyStuurBoggleBord")) {
                    startReplyStuurBoggleBord();
                }else if (qualifiedName.equals("gevondenWoorden")) {
                    startGevondenWoorden();
                } else if (qualifiedName.equals("verhoogBoggleScore")) {
                    startVerhoogBoggleScore();
                } else if (qualifiedName.equals("verhoogVerlorenBoggleScore")) {
                    startVerhoogVerlorenBoggleScore();
                } else if (qualifiedName.equals("verhoogGalgjeScore")) {
                    startVerhoogGalgjeScore();
                } else if (qualifiedName.equals("verhoogGalgjeVerlorenScore")) {
                    startVerhoogGalgjeVerlorenScore();
                } 
                
                
            }

            public void endElement(String namespaceURI, String localName,
                    String qualifiedName) throws SAXException {
                if (qualifiedName.equals("chat")) {
                    endChat();
                } else if (qualifiedName.equals("priveChat")) {
                    endPriveChat();
                } else if (qualifiedName.equals("spelerAlOnline")) {
                    endSpelerAlOnline();
                } else if (qualifiedName.equals("getSpelerByLogin")) {
                    endGetSpelerByLogin();
                }  else if (qualifiedName.equals("getSpelerByNickname")) {
                    endGetSpelerByNickname();
                }else if (qualifiedName.equals("spelerOffline")) {
                    endSpelerOffline();
                } else if (qualifiedName.equals("spelerOnline")) {
                    endSpelerOnline();
                } else if (qualifiedName.equals("registreerGebruiker")) {
                    endRegistreerGebruiker();
                } else if (qualifiedName.equals("updateGebruiker")) {
                    endUpdateGebruiker();
                } else if (qualifiedName.equals("onlineSpelers")) {
                    endOnlineSpelers();
                } else if (qualifiedName.equals("createGame")) {
                    endCreateGame();
                } else if (qualifiedName.equals("getGamerooms")) {
                    endGetGamerooms();
                } else if (qualifiedName.equals("gebruiker")) {
                    endGebruiker();
                } else if (qualifiedName.equals("joinGame")) {
                    endJoinGame();
                } else if (qualifiedName.equals("leaveGame")) {
                    endLeaveGame();
                } else if (qualifiedName.equals("chatInGame")) {
                    endChatInGame();
                } else if (qualifiedName.equals("gelegdeWoorden")) {
                    endGelegdeWoorden();
                } else if (qualifiedName.equals("nieuwWoord")) {
                    endNieuwWoord();
                } else if (qualifiedName.equals("verplaatsBlokje")) {
                    endVerplaatsBlokje();
                } else if (qualifiedName.equals("geefBeurtDoor")) {
                    endGeefBeurtDoor();
                } else if (qualifiedName.equals("pasBeurt")) {
                    endPasBeurt();
                } else if (qualifiedName.equals("beurtVerlopen")) {
                    endBeurtVerlopen();
                }else if (qualifiedName.equals("checkNicknameBestaatAl")) {
                    endCheckNicknameBestaatAl();
                } else if (qualifiedName.equals("zendAvatarAanvraag")) {
                    endZendAvatarAanvraag();
                }else if (qualifiedName.equals("aanvraagLetters")) {
                    endAanvraagLetters();
                }//else if (qualifiedName.equals("aanvraagLetters")) {
                  //  endAanvraagLetterWaarde();
                //}
                else if (qualifiedName.equals("geefLettersTerug")) {
                    endGeefLettersTerug();
                }else if (qualifiedName.equals("geefOverblijvendeLettersTerug")) {
                    endGeefOverblijvendeLettersTerug();
                }else if (qualifiedName.equals("startSpel")) {
                    endStartSpel();
                }else if (qualifiedName.equals("getRandomWoord")) {
                    endGetRandomWoord();
                }else if (qualifiedName.equals("geefAvatarAanvraag")) {
                    endGeefAvatarAanvraag();
                }else if (qualifiedName.equals("bepaalTopscore")) {
                    endBepaalTopscore();
                }else if (qualifiedName.equals("replyStuurBoggleBord")) {
                    endReplyStuurBoggleBord();
                }else if (qualifiedName.equals("gevondenWoorden")) {
                    endGevondenWoorden();
                } else if (qualifiedName.equals("verhoogBoggleScore")) {
                    endVerhoogBoggleScore();
                } else if (qualifiedName.equals("verhoogVerlorenBoggleScore")) {
                    endVerhoogVerlorenBoggleScore();
                } else if (qualifiedName.equals("verhoogGalgjeScore")) {
                    endVerhoogGalgjeScore();
                } else if (qualifiedName.equals("verhoogGalgjeVerlorenScore")) {
                    endVerhoogGalgjeVerlorenScore();
                } 
            }

            public void characters(char[] text, int start, int length)
                    throws SAXException {
                if (naamLaatsteElement.equals("bericht")) {
                    setBericht(new String(text, start, length));
                } else if (naamLaatsteElement.equals("nickname")) {
                    setNickname(new String(text, start, length));
                } else if (naamLaatsteElement.equals("password")) {
                    setPaswoord(new String(text, start, length));
                } else if (naamLaatsteElement.equals("extra")) {
                    setExtra(new String(text, start, length));
                } else if (naamLaatsteElement.equals("hobby")) {
                    setHobbys(new String(text, start, length));
                } else if (naamLaatsteElement.equals("geslacht")) {
                    setGeslacht(new String(text, start, length));
                } else if (naamLaatsteElement.equals("geboortedatum")) {
                    setGeboortedatum(new String(text, start, length));
                } else if (naamLaatsteElement.equals("avatar")) {
                    setAvatar(new String(text, start, length));
                } else if (naamLaatsteElement.equals("isOnline")) {
                    setOnline(new String(text, start, length));
                } else if (naamLaatsteElement.equals("isGaming")) {
                    setGaming(new String(text, start, length));
                } else if (naamLaatsteElement.equals("scoreid")) {
                    setScoreId(new String(text, start, length));
                } else if (naamLaatsteElement.equals("email")) {
                    setEmail(new String(text, start, length));
                } else if (naamLaatsteElement.equals("ontvanger")) {
                    setOntvanger(new String(text, start, length));
                } else if (naamLaatsteElement.equals("gameNaam")) {
                    setGameNaam(new String(text, start, length));
                } else if (naamLaatsteElement.equals("maxAantalSpelers")) {
                    setMaxAantalSpelers(Integer.valueOf(new String(text, start, length)));
                }else if (naamLaatsteElement.equals("maxTijdPerBeurt")){
                    setMaxTijdPerBeurt(Integer.valueOf(new String(text, start, length)));
                }else if (naamLaatsteElement.equals("maxAantalKeerGepast")){
                    setMaxAantalKeerGepast(Integer.valueOf(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("maxAantalKeerBeurtVerlopen")){
                    setMaxAantalKeerBeurtVerlopen(Integer.valueOf(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("spelType")) {
                    setSpelType(new String(text, start, length));
                } else if (naamLaatsteElement.equals("nicknameOprichter")) {
                    setNicknameOprichter(new String(text, start, length));
                } else if (naamLaatsteElement.equals("passwordGameroom")) {
                    setPasswordGameroom(new String(text, start, length));
                } else if (naamLaatsteElement.equals("nieuwWoord")) {
                    setNieuwWoord(new String(text, start, length));
                } else if (naamLaatsteElement.equals("x")) {
                    setX(Integer.valueOf(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("y")) {
                    setY(Integer.valueOf(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("xOud")) {
                    setXOud(Integer.valueOf(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("yOud")) {
                    setYOud(Integer.valueOf(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("letter")) {
                    setLetter(new String(text, start, length));
                } else if (naamLaatsteElement.equals("blanco")) {
                    setBlanco(Boolean.parseBoolean(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("score")) {
                    setScore(Integer.parseInt(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("geefBeurtDoor")) {
                    //???????? waarom dan niet gewoon gameNaam in xml meegeven alsje tocg de gamenaam instelt
                    setGameNaam(new String(text, start, length));
                } else if (naamLaatsteElement.equals("filename")) {
                    setFileName(new String(text, start, length));
                } else if (naamLaatsteElement.equals("aantalLetters")) {
                    setAantalLetters(Integer.parseInt(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("rij")) {
                    setRij(Integer.parseInt(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("kolom")) {
                    setKolom(Integer.parseInt(new String(text, start, length)));
                } else if (naamLaatsteElement.equals("boggleLetter")) {
                    setBoggleLetter(new String(text, start, length));
                } 
                
                
            }
        };
    }
}
